1. Field of the Present Invention
The present invention is in the field of data processing networks and, more particularly, data processing networks in which resources from a/pool of available resources are allocated as needed.
2. History of Related Art
In the field of information technology (IT), provisioning is an increasingly important concept. Provisioning, as the term is used in this disclosure, refers to functionality that enables an environment such as a data center to allocate IT resources as they are needed. In a fully automated provisioning implementation, a data center may respond to variations in load by allocating and deallocating servers to a particular server cluster.
A web server cluster, for example, may require more servers during peak demand periods (such as when consumers are likely to be accessing the cluster) while a database server cluster may be configured to execute the bulk of its tasks at other times. In this scenario, provisioning may include allocating servers from a pool of available server resources to the web server cluster during normal business hours, deallocating some servers from the web server cluster after hours, and allocating server resources to the database server cluster during off hours.
This simple example illustrates a primary benefit of provisioning, namely, dynamic allocation of resources to conserve the amount of total resources required. Instead of configuring the database server cluster with sufficient server resources to handle the peak database workload and the web server cluster with sufficient server resources to handle the peak web server workload, the total resources required are reduced by using server capacity more efficiently. In addition, automated provisioning reduces the amount of time and human effort required to configure resources for a particular task and thereby reduces management overhead.
To date, however, provisioning solutions have tended to treat like-type resources as homogenous. All servers, for example, are viewed by conventional provisioning solutions as interchangeable and, in fact, some automated provisioning solutions require and assume that all resources in a provisioning pool are substantially identical. In many environments, however, a much more realistic and less constraining assumption is that each resource may possess qualities or characteristics that make it a more suitable (or less suitable) candidate for a particular provisioning solution than other resources. It would be desirable to implement a system and method for optimizing the selection of resources during provisioning sequences.